package com.ms.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ms.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * 用户数据访问接口 - 使用MyBatis-Plus实现
 * 继承BaseMapper后可直接使用常见的CRUD操作
 */
@Mapper
public interface UserMapper extends BaseMapper<User> {
    // MyBatis-Plus会自动提供常见的CRUD方法:
    // insert(User user)
    // selectById(Serializable id)
    // selectList(Wrapper<User> queryWrapper)
    // updateById(User user)
    // deleteById(Serializable id)
    // 等等...
    
    /**
     * 查找指定年份前缀的最大numID
     * @param prefix 年份前缀，如"2023"
     * @return 最大的numID，如果没有找到则返回null
     */
    @Select("SELECT numID FROM user WHERE numID LIKE CONCAT(#{prefix}, '%') ORDER BY numID DESC LIMIT 1")
    String findMaxNumIdForYear(String prefix);
}
